An application (e.g., a mobile or computer application) running in a host can write/read files to/from a storage system by sending input/output requests to the storage system with the assistance of a file system running in the host. Some file systems execute input/output requests mostly sequentially. However, there can be some situations in which some input/output requests need to be executed without waiting for the previous input/output requests to be completed. In such situations, the host can use an intelligent arbitration algorithm to control the timing of when various input/output requests are sent to the storage system.